package com.zy.cat.service;

import java.util.List;

import com.zy.cat.entity.dev.CatDevReRedHistory;
import com.zy.cat.entity.dev.resp.CatDevOrderResp;
import com.zy.cat.entity.dev.resp.CatDevReRedHistoryResp;
import com.zy.cat.entity.dev.resp.CatDevRebateInfoResp;
import com.zy.cat.entity.resp.Pages;
import com.zy.cat.entity.resp.ResultPage;

public interface CatOrderService {

	/**
	 * 
	 * @info 获取9趣猫用户所有订单,数据库查询【zy_cat_order_data】，根据订单创建时间倒序排列
	 * @author lipengchao
	 * @apiNote	已完成  测试完成 
	 * @date 2019-11-15 09:15
	 * @param pid
	 * @param dstatus
	 * @param pages
	 * @return
	 */
	ResultPage<CatDevOrderResp> list(String pid, int dstatus,int otype, Pages pages);

	/**
	 * 
	 * @info 9趣猫用户手动填单
	 * @author lipengchao
	 * @apiNote	已完成  测试完成
	 * @date 2019-11-15 09:20
	 * @param pid
	 * @param tid
	 * @return
	 */
	Boolean addOrder(String pid, String tid,String date);
	
	/**
	 * 根据订单ID查询订单信息
	 * @param tid
	 * @return
	 */
	CatDevOrderResp getOrderById(String tid);

	/**
	 * 获取页面应展示的选品库类型,15元补贴或者3元无门槛
	 * @author lipengchao
	 * @apiNote 已完成
	 * @date 2019-12-12 06:07:30
	 * @param rtype
	 * @param pid
	 * @return
	 */
	Integer getFavoritesType(Integer rtype, String pid);

	/**
	 * 查询填单记录
	 * @author lipengchao
	 * @apiNote 已完成
	 * @date 2019-12-10 10:34:55
	 * @param pid
	 * @return
	 */
	List<CatDevOrderResp> getBackOrderList(String pid);

	/**
	 * 获取返现红包列表
	 * @author lipengchao
	 * @apiNote 已完成
	 * @date 2019-12-10 10:34:55
	 * @param pid
	 * @param fstatus 
	 * @return
	 */
	ResultPage<CatDevReRedHistoryResp> getBackCashList(String pid, Integer fstatus,Pages pages);

	/**
	 * 领取现金红包
	 * @author lipengchao
	 * @apiNote 已完成
	 * @date 2019-12-10 10:34:55
	 * @param pid
	 * @return
	 */
	Boolean receiveBackCash(String pid);

	/**
	 * 提高返佣比例+10%=50%比例返佣
	 * @author lipengchao
	 * @date 2020-05-14 05:29:12 
	 * @param pid
	 * @param oid
	 * @return
	 */
	boolean promoteRebate(String pid, String oid);

	/**
	 * 查询用户本人订单返利数据
	 * @author lipengchao
	 * @date 2020-06-19 03:31:44 
	 * @param pid
	 * @return
	 */
	CatDevRebateInfoResp getRebateInfo(String pid);
}
